package leetcode26;


/**
 * @Author tyy
 * @Description 26. 删除有序数组中的重复项
    给你一个有序数组 nums ，请你 原地 删除重复出现的元素，使每个元素 只出现一次 ，返回删除后数组的新长度。
    不要使用额外的数组空间，你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。
 * @Since 2021/10/5
 */
public class Solution {
    public int removeDuplicates(int[] nums) {
        if (nums.length < 2) return nums.length;
        int j = 0;
        for (int i = 1; i < nums.length; i++){
            if (nums[j] != nums[i]) {
                nums[++j] = nums[i];
            }
        }
        return ++j;

        /*int cur = 0;
        for(int i=0;i<nums.length;i++){
            if(nums[cur] != nums[i]){
                nums[cur+1] = nums[i];
                cur++;
            }
        }
        return cur+1;*/
    }
    public static void main(String[] args) {
        int[] nums = {0,0,1,1,1,2,2,3,3,4};
        int i = new Solution().removeDuplicates(nums);
        System.out.println("i = " + i);
    }
}
